package org.gr.ias.common.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class CapitalInvestment implements Serializable {
    /** 主键*/
    private String id;

    /** 投资信息分类*/
    private String investmentCategory;

    /** 标题*/
    private String title;

    /** 资金主体*/
    private String capitalSubject;

    /** 所在地区(省)*/
    private String provinceId;

    /** 所在地区(市)*/
    private String cityId;

    /** 所在地区(县)*/
    private String countryId;

    /** 地址详情(描述处省市县以外的信息，如街道门牌号)*/
    private String address;

    /** 有效开始时间*/
    private Date effectiveTimeStart;

    /** 有效结束时间*/
    private Date effectiveTimeEnd;

    /** */
    private String investmentIndustryId;

    /** */
    private String investmentIndustry;

    /** */
    private String investmentDistrictId;

    /** 投资地区*/
    private String investmentDistrict;

    /** 投资金额(开始)*/
    private BigDecimal investmentAmtStart;

    /** 投资金额单位(开始)*/
    private String investmentAmtStartUnit;

    /** 投资金额(结束)*/
    private BigDecimal investmentAmtEnd;

    /** 投资金额单位(结束)*/
    private String investmentAmtEndUnit;

    /** 前期费用*/
    private String upfrontCharge;

    /** 需提供资料*/
    private String materialNeeded;

    /** 资料备注，当选择其他资料时填写*/
    private String materialRemark;

    /** 标签*/
    private String tag;

    /** 创建人*/
    private String createUser;

    /** */
    private String createUserName;

    /** 创建时间*/
    private Date createTime;

    /** 修改时间*/
    private Date modifyTime;

    /** 审核人*/
    private String approveUser;

    /** 审核人名称*/
    private String approveUserName;

    /** */
    private Date approveTime;

    /** 缩略图*/
    private String thumbnail;

    /** 附件*/
    private String attachment;

    /** 状态*/
    private String status;

    /** 版本号*/
    private Integer version;

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getInvestmentCategory() {
        return investmentCategory;
    }

    public void setInvestmentCategory(String investmentCategory) {
        this.investmentCategory = investmentCategory == null ? null : investmentCategory.trim();
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    public String getCapitalSubject() {
        return capitalSubject;
    }

    public void setCapitalSubject(String capitalSubject) {
        this.capitalSubject = capitalSubject == null ? null : capitalSubject.trim();
    }

    public String getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(String provinceId) {
        this.provinceId = provinceId == null ? null : provinceId.trim();
    }

    public String getCityId() {
        return cityId;
    }

    public void setCityId(String cityId) {
        this.cityId = cityId == null ? null : cityId.trim();
    }

    public String getCountryId() {
        return countryId;
    }

    public void setCountryId(String countryId) {
        this.countryId = countryId == null ? null : countryId.trim();
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    public Date getEffectiveTimeStart() {
        return effectiveTimeStart;
    }

    public void setEffectiveTimeStart(Date effectiveTimeStart) {
        this.effectiveTimeStart = effectiveTimeStart;
    }

    public Date getEffectiveTimeEnd() {
        return effectiveTimeEnd;
    }

    public void setEffectiveTimeEnd(Date effectiveTimeEnd) {
        this.effectiveTimeEnd = effectiveTimeEnd;
    }

    public String getInvestmentIndustryId() {
        return investmentIndustryId;
    }

    public void setInvestmentIndustryId(String investmentIndustryId) {
        this.investmentIndustryId = investmentIndustryId == null ? null : investmentIndustryId.trim();
    }

    public String getInvestmentIndustry() {
        return investmentIndustry;
    }

    public void setInvestmentIndustry(String investmentIndustry) {
        this.investmentIndustry = investmentIndustry == null ? null : investmentIndustry.trim();
    }

    public String getInvestmentDistrictId() {
        return investmentDistrictId;
    }

    public void setInvestmentDistrictId(String investmentDistrictId) {
        this.investmentDistrictId = investmentDistrictId == null ? null : investmentDistrictId.trim();
    }

    public String getInvestmentDistrict() {
        return investmentDistrict;
    }

    public void setInvestmentDistrict(String investmentDistrict) {
        this.investmentDistrict = investmentDistrict == null ? null : investmentDistrict.trim();
    }

    public BigDecimal getInvestmentAmtStart() {
        return investmentAmtStart;
    }

    public void setInvestmentAmtStart(BigDecimal investmentAmtStart) {
        this.investmentAmtStart = investmentAmtStart;
    }

    public String getInvestmentAmtStartUnit() {
        return investmentAmtStartUnit;
    }

    public void setInvestmentAmtStartUnit(String investmentAmtStartUnit) {
        this.investmentAmtStartUnit = investmentAmtStartUnit == null ? null : investmentAmtStartUnit.trim();
    }

    public BigDecimal getInvestmentAmtEnd() {
        return investmentAmtEnd;
    }

    public void setInvestmentAmtEnd(BigDecimal investmentAmtEnd) {
        this.investmentAmtEnd = investmentAmtEnd;
    }

    public String getInvestmentAmtEndUnit() {
        return investmentAmtEndUnit;
    }

    public void setInvestmentAmtEndUnit(String investmentAmtEndUnit) {
        this.investmentAmtEndUnit = investmentAmtEndUnit == null ? null : investmentAmtEndUnit.trim();
    }

    public String getUpfrontCharge() {
        return upfrontCharge;
    }

    public void setUpfrontCharge(String upfrontCharge) {
        this.upfrontCharge = upfrontCharge == null ? null : upfrontCharge.trim();
    }

    public String getMaterialNeeded() {
        return materialNeeded;
    }

    public void setMaterialNeeded(String materialNeeded) {
        this.materialNeeded = materialNeeded == null ? null : materialNeeded.trim();
    }

    public String getMaterialRemark() {
        return materialRemark;
    }

    public void setMaterialRemark(String materialRemark) {
        this.materialRemark = materialRemark == null ? null : materialRemark.trim();
    }

    public String getTag() {
        return tag;
    }

    public void setTag(String tag) {
        this.tag = tag == null ? null : tag.trim();
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName == null ? null : createUserName.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public String getApproveUser() {
        return approveUser;
    }

    public void setApproveUser(String approveUser) {
        this.approveUser = approveUser == null ? null : approveUser.trim();
    }

    public String getApproveUserName() {
        return approveUserName;
    }

    public void setApproveUserName(String approveUserName) {
        this.approveUserName = approveUserName == null ? null : approveUserName.trim();
    }

    public Date getApproveTime() {
        return approveTime;
    }

    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public String getThumbnail() {
        return thumbnail;
    }

    public void setThumbnail(String thumbnail) {
        this.thumbnail = thumbnail == null ? null : thumbnail.trim();
    }

    public String getAttachment() {
        return attachment;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment == null ? null : attachment.trim();
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        CapitalInvestment other = (CapitalInvestment) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getInvestmentCategory() == null ? other.getInvestmentCategory() == null : this.getInvestmentCategory().equals(other.getInvestmentCategory()))
            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
            && (this.getCapitalSubject() == null ? other.getCapitalSubject() == null : this.getCapitalSubject().equals(other.getCapitalSubject()))
            && (this.getProvinceId() == null ? other.getProvinceId() == null : this.getProvinceId().equals(other.getProvinceId()))
            && (this.getCityId() == null ? other.getCityId() == null : this.getCityId().equals(other.getCityId()))
            && (this.getCountryId() == null ? other.getCountryId() == null : this.getCountryId().equals(other.getCountryId()))
            && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
            && (this.getEffectiveTimeStart() == null ? other.getEffectiveTimeStart() == null : this.getEffectiveTimeStart().equals(other.getEffectiveTimeStart()))
            && (this.getEffectiveTimeEnd() == null ? other.getEffectiveTimeEnd() == null : this.getEffectiveTimeEnd().equals(other.getEffectiveTimeEnd()))
            && (this.getInvestmentIndustryId() == null ? other.getInvestmentIndustryId() == null : this.getInvestmentIndustryId().equals(other.getInvestmentIndustryId()))
            && (this.getInvestmentIndustry() == null ? other.getInvestmentIndustry() == null : this.getInvestmentIndustry().equals(other.getInvestmentIndustry()))
            && (this.getInvestmentDistrictId() == null ? other.getInvestmentDistrictId() == null : this.getInvestmentDistrictId().equals(other.getInvestmentDistrictId()))
            && (this.getInvestmentDistrict() == null ? other.getInvestmentDistrict() == null : this.getInvestmentDistrict().equals(other.getInvestmentDistrict()))
            && (this.getInvestmentAmtStart() == null ? other.getInvestmentAmtStart() == null : this.getInvestmentAmtStart().equals(other.getInvestmentAmtStart()))
            && (this.getInvestmentAmtStartUnit() == null ? other.getInvestmentAmtStartUnit() == null : this.getInvestmentAmtStartUnit().equals(other.getInvestmentAmtStartUnit()))
            && (this.getInvestmentAmtEnd() == null ? other.getInvestmentAmtEnd() == null : this.getInvestmentAmtEnd().equals(other.getInvestmentAmtEnd()))
            && (this.getInvestmentAmtEndUnit() == null ? other.getInvestmentAmtEndUnit() == null : this.getInvestmentAmtEndUnit().equals(other.getInvestmentAmtEndUnit()))
            && (this.getUpfrontCharge() == null ? other.getUpfrontCharge() == null : this.getUpfrontCharge().equals(other.getUpfrontCharge()))
            && (this.getMaterialNeeded() == null ? other.getMaterialNeeded() == null : this.getMaterialNeeded().equals(other.getMaterialNeeded()))
            && (this.getMaterialRemark() == null ? other.getMaterialRemark() == null : this.getMaterialRemark().equals(other.getMaterialRemark()))
            && (this.getTag() == null ? other.getTag() == null : this.getTag().equals(other.getTag()))
            && (this.getCreateUser() == null ? other.getCreateUser() == null : this.getCreateUser().equals(other.getCreateUser()))
            && (this.getCreateUserName() == null ? other.getCreateUserName() == null : this.getCreateUserName().equals(other.getCreateUserName()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getModifyTime() == null ? other.getModifyTime() == null : this.getModifyTime().equals(other.getModifyTime()))
            && (this.getApproveUser() == null ? other.getApproveUser() == null : this.getApproveUser().equals(other.getApproveUser()))
            && (this.getApproveUserName() == null ? other.getApproveUserName() == null : this.getApproveUserName().equals(other.getApproveUserName()))
            && (this.getApproveTime() == null ? other.getApproveTime() == null : this.getApproveTime().equals(other.getApproveTime()))
            && (this.getThumbnail() == null ? other.getThumbnail() == null : this.getThumbnail().equals(other.getThumbnail()))
            && (this.getAttachment() == null ? other.getAttachment() == null : this.getAttachment().equals(other.getAttachment()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getVersion() == null ? other.getVersion() == null : this.getVersion().equals(other.getVersion()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getInvestmentCategory() == null) ? 0 : getInvestmentCategory().hashCode());
        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
        result = prime * result + ((getCapitalSubject() == null) ? 0 : getCapitalSubject().hashCode());
        result = prime * result + ((getProvinceId() == null) ? 0 : getProvinceId().hashCode());
        result = prime * result + ((getCityId() == null) ? 0 : getCityId().hashCode());
        result = prime * result + ((getCountryId() == null) ? 0 : getCountryId().hashCode());
        result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
        result = prime * result + ((getEffectiveTimeStart() == null) ? 0 : getEffectiveTimeStart().hashCode());
        result = prime * result + ((getEffectiveTimeEnd() == null) ? 0 : getEffectiveTimeEnd().hashCode());
        result = prime * result + ((getInvestmentIndustryId() == null) ? 0 : getInvestmentIndustryId().hashCode());
        result = prime * result + ((getInvestmentIndustry() == null) ? 0 : getInvestmentIndustry().hashCode());
        result = prime * result + ((getInvestmentDistrictId() == null) ? 0 : getInvestmentDistrictId().hashCode());
        result = prime * result + ((getInvestmentDistrict() == null) ? 0 : getInvestmentDistrict().hashCode());
        result = prime * result + ((getInvestmentAmtStart() == null) ? 0 : getInvestmentAmtStart().hashCode());
        result = prime * result + ((getInvestmentAmtStartUnit() == null) ? 0 : getInvestmentAmtStartUnit().hashCode());
        result = prime * result + ((getInvestmentAmtEnd() == null) ? 0 : getInvestmentAmtEnd().hashCode());
        result = prime * result + ((getInvestmentAmtEndUnit() == null) ? 0 : getInvestmentAmtEndUnit().hashCode());
        result = prime * result + ((getUpfrontCharge() == null) ? 0 : getUpfrontCharge().hashCode());
        result = prime * result + ((getMaterialNeeded() == null) ? 0 : getMaterialNeeded().hashCode());
        result = prime * result + ((getMaterialRemark() == null) ? 0 : getMaterialRemark().hashCode());
        result = prime * result + ((getTag() == null) ? 0 : getTag().hashCode());
        result = prime * result + ((getCreateUser() == null) ? 0 : getCreateUser().hashCode());
        result = prime * result + ((getCreateUserName() == null) ? 0 : getCreateUserName().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getModifyTime() == null) ? 0 : getModifyTime().hashCode());
        result = prime * result + ((getApproveUser() == null) ? 0 : getApproveUser().hashCode());
        result = prime * result + ((getApproveUserName() == null) ? 0 : getApproveUserName().hashCode());
        result = prime * result + ((getApproveTime() == null) ? 0 : getApproveTime().hashCode());
        result = prime * result + ((getThumbnail() == null) ? 0 : getThumbnail().hashCode());
        result = prime * result + ((getAttachment() == null) ? 0 : getAttachment().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getVersion() == null) ? 0 : getVersion().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", investmentCategory=").append(investmentCategory);
        sb.append(", title=").append(title);
        sb.append(", capitalSubject=").append(capitalSubject);
        sb.append(", provinceId=").append(provinceId);
        sb.append(", cityId=").append(cityId);
        sb.append(", countryId=").append(countryId);
        sb.append(", address=").append(address);
        sb.append(", effectiveTimeStart=").append(effectiveTimeStart);
        sb.append(", effectiveTimeEnd=").append(effectiveTimeEnd);
        sb.append(", investmentIndustryId=").append(investmentIndustryId);
        sb.append(", investmentIndustry=").append(investmentIndustry);
        sb.append(", investmentDistrictId=").append(investmentDistrictId);
        sb.append(", investmentDistrict=").append(investmentDistrict);
        sb.append(", investmentAmtStart=").append(investmentAmtStart);
        sb.append(", investmentAmtStartUnit=").append(investmentAmtStartUnit);
        sb.append(", investmentAmtEnd=").append(investmentAmtEnd);
        sb.append(", investmentAmtEndUnit=").append(investmentAmtEndUnit);
        sb.append(", upfrontCharge=").append(upfrontCharge);
        sb.append(", materialNeeded=").append(materialNeeded);
        sb.append(", materialRemark=").append(materialRemark);
        sb.append(", tag=").append(tag);
        sb.append(", createUser=").append(createUser);
        sb.append(", createUserName=").append(createUserName);
        sb.append(", createTime=").append(createTime);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append(", approveUser=").append(approveUser);
        sb.append(", approveUserName=").append(approveUserName);
        sb.append(", approveTime=").append(approveTime);
        sb.append(", thumbnail=").append(thumbnail);
        sb.append(", attachment=").append(attachment);
        sb.append(", status=").append(status);
        sb.append(", version=").append(version);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}